package com.cupk.rotaryguard.monitor.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cupk.common.base.utils.result.Result;
import com.cupk.rotaryguard.monitor.entity.DeviceMonitorRecord;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @author tjy
 * @date 2023/4/1
 * @apiNote
 */
public interface MonitorRecordService extends IService<DeviceMonitorRecord> {
    /**
     * 查询所有监控记录
     *
     * @return
     */
    Result getMonitorRecords();

    /**
     * 根据id获取record
     *
     * @param id
     * @return
     */
    Result getMonitorRecordById(Long id);

    /**
     * 删除监控记录
     *
     * @param ids
     * @return
     */
    Result delMonitorRecords(List<Integer> ids);


    /**
     * 根据设备id获取监控记录(记录时间倒序)
     *
     * @param deviceId
     * @return
     */
    Result getMonitorRecordByDeviceId(Integer pageNum, Integer pageSize, Long deviceId);

    /**
     * 根据设备id获取最新监控记录
     *
     * @param deviceId
     * @return
     */
    Result getLatestMonitorRecordByDeviceId(Long deviceId);

    /**
     * 删除
     *
     * @param id
     * @return
     */
    Result delMonitorRecordById(Integer id);


    /**
     * 获取指定设备号的最新五百条数据用于状态诊断
     *
     * @param deviceId
     * @return
     */
    Result lastFiftyRecords(Long deviceId);

    /**
     * 获取指定设备最新10条数据用于展示
     *
     * @param deviceId
     * @return
     */
    Result getTenRecordByDeviceId(Long deviceId);
}
